<?php
/**
 * Enter description here ...
 * @author Micou13630
 *
 */
class DataSetDao implements IDataSetDao {
	
	private $status;
	
	private $startRow;
	private $endRow;
	
	private $datas;
	private $totalRows;
	
	private $errors;
	
	/**
	 * Constructeur
	 */
	public function DataSetDao ($datas = null, $status = IDataSetDao::STATUS_SUCCESS) {
		$this->status = $status;
		
		$this->datas = (isset($datas))?$datas:array();
		$this->errors = array();
	}
	
	/**
	 * Renvoie le status de la reponse
	 */
	public function getStatus() {
		return $this->status;
	}
	
	/**
	 * renvoie le nombre de resultats
	 */
	public function getTotalRows() {
		if (is_array($this->datas)) {
			if (isset($this->totalRows)) return $this->totalRows;
			else return sizeOf($this->datas);
		}
	}
	
	/**
	 * Defini le nombre de resultats
	 */
	public function setTotalRows($totalRows) {
		$this->totalRows = $totalRows;
	}
	
	/**
	 * Renvoie la position de la premiere ligne
	 */
	public function getStartRow() {
		return $this->startRow;
	}
	
	/**
	 * Definie la position de la premiere ligne
	 */
	public function setStartRow($row) {
		$this->startRow = $row;
	}
	
	/**
	 * Renvoie la position de la derniere ligne
	 */
	public function getEndRow() {
		return $this->endRow;
	}
	
	/**
	 * Definie la position de la derniere ligne
	 */
	public function setEndRow($row) {
		$this->endRow = $row;
	}
	
	/**
	 * Renvoie les erreurs
	 */
	public function getErrors() {
		return $this->errors;
	}
	
	/**
	 * Renvoie les donnees
	 */
	public function getDatas() {
		return $this->datas;
	}
	
	/**
	 * Ajoute une erreur
	 */
	protected function setError($field, $message) {
		$this->errors[$field] = array('errorMessage'=>$message);
	}
}